package br.com.tiespec.ejb.Ejb;

import java.util.List;

import javax.ejb.EJB;
import javax.ejb.Local;
import javax.ejb.Stateless;

import br.com.tiespec.ejb.Dao.DescricaoEstendidaDAO;
import br.com.tiespec.ejb.Dao.ProjetoDAO;
import br.com.tiespec.ejb.EjbInterface.ImpressaoDescricaoInterface;
import br.com.tiespec.model.Enum.TipoSortOrder;
import br.com.tiespec.model.Modelo.Cenario;
import br.com.tiespec.model.Modelo.Dado;
import br.com.tiespec.model.Modelo.DescricaoEstendida;
import br.com.tiespec.model.Modelo.Projeto;

@Stateless(mappedName = "ImpressaoDescricaoImpl")
@Local(value=ImpressaoDescricaoInterface.class)
public class ImpressaoDescricaoImpl implements ImpressaoDescricaoInterface  {

	private static final long serialVersionUID = 1L;

	@EJB DescricaoEstendidaDAO deDao;
	@EJB ProjetoDAO pDao;
	
	@Override
	public List<DescricaoEstendida> listarDescricaoEstendidas(int first,
			int pageSize, String sortField, TipoSortOrder sortOrder, Long idProjeto) {
		return deDao.listarDescricaoEstendida(first, pageSize, sortField, sortOrder, idProjeto);
	}
	
	@Override
	public int countDescricaoEstendidas(Long idProjeto) {
		return deDao.countDescricaoEstendida(idProjeto);
	}
	
	@Override
	public DescricaoEstendida selecionarDescricao(Long id) {
		return deDao.selecionar(id);
	}

	@Override
	public List<Projeto> listarProjetos(int first, int pageSize,
			String sortField, TipoSortOrder convertePrimeFaces,
			Long idClientePortal, String varCodigo, String varNome,
			String varCliente) {
		return pDao.listarProjeto(first, pageSize, sortField, convertePrimeFaces, idClientePortal, 
				varCodigo, varNome, varCliente);	
	}

	@Override
	public int countProjetos(Long idClientePortal, String varCodigo,
			String varNome, String varCliente) {
		return pDao.countProjeto(idClientePortal, varCodigo, varNome, varCliente);
	}

	@Override
	public Projeto selecionarProjeto(Long id) {
		return pDao.selecionarComClienteProjeto(id);
	}
	
	@Override
	public List<Cenario> selecionarCenarios(Long idDescricao) {
		// TODO Auto-generated method stub
		return null;
	}
	
	@Override
	public List<Dado> selecionarDados(Long idDescricao) {
		// TODO Auto-generated method stub
		return null;
	}
}